/**
* @file callback_api.cpp
*
* Copyright (c) Huawei Technologies Co., Ltd. 2025. All Rights reserved.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/

#include "runtime/acl_rt_impl.h"
#include "init_callback_manager.h"

aclError aclInitCallbackRegisterImpl(aclRegisterCallbackType type, aclInitCallbackFunc cbFunc, void *userData)
{
    return acl::InitCallbackManager::GetInstance().RegInitCallback(type, cbFunc, userData);
}

aclError aclInitCallbackUnRegisterImpl(aclRegisterCallbackType type, aclInitCallbackFunc cbFunc)
{
    return acl::InitCallbackManager::GetInstance().UnRegInitCallback(type, cbFunc);
}

aclError aclFinalizeCallbackRegisterImpl(aclRegisterCallbackType type, aclFinalizeCallbackFunc cbFunc, void *userData)
{
    return acl::InitCallbackManager::GetInstance().RegFinalizeCallback(type, cbFunc, userData);
}

aclError aclFinalizeCallbackUnRegisterImpl(aclRegisterCallbackType type, aclFinalizeCallbackFunc cbFunc)
{
    return acl::InitCallbackManager::GetInstance().UnRegFinalizeCallback(type, cbFunc);
}